home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / PowerPlant / AGA Classes 1.2 / Utilities / LAGALittleArrows.h < prev    next >
Text File  |  1996-06-30  |  2KB  |  87 lines

  1. // ===========================================================================
  2. //    LAGALittleArrows.h
  3. // ===========================================================================
  4. //    “Apple Grayscale Appearance” compliant little-arrows control. Auto-repeats
  5. // if held down. Uses the same PPob as LStdCheckBox
  6. //
  7. // Copyright 1996 by Michael™ Hamel of ADInstruments NZ Ltd, mhamel@adi.co.nz
  8. //
  9. //    You may use this source code in any application (commercial, shareware, freeware,
  10. //    postcardware, etc), without acknowledgment, but may not remove this notice.
  11. //
  12. //    You may not sell this source code in any form. This source code may be placed on 
  13. //    publicly accessible archive sites and source code disks. It may not be placed on 
  14. //    for-profit archive sites and source code disks without the permission of the author.
  15. //
  16. //     This source code is distributed "as is", without any warranty. Use it at your own
  17. //  risk.
  18. //
  19. //        This class requires AGAColors.cp to be present in your project
  20. //
  21. //        Version : 1.2
  22. //
  23. //        Change History (most recent first, date in US form : mm/dd/yy):
  24. //
  25. //                        06/30/96    ca        Public release of version 1.2
  26. //                        06/05/96    ca        Added RegisterClass method to ease registry
  27. //                                            Added guard macros in header files
  28. //                                            Increased version to 1.2
  29. //                        05/21/96    M™H    Initial version set to 1.1 to be put with other AGA classes
  30. //
  31. //        To Do:
  32. //
  33.  
  34. #ifndef _H_LAGALittleArrows
  35. #define _H_LAGALittleArrows
  36. #pragma once
  37.  
  38. #include    <LStdControl.h>
  39. #include <LString.h>
  40.  
  41. class LAGALittleArrows : public LControl {
  42. public:
  43.     enum { class_ID = 'AGAr' };
  44.     static void RegisterClass ();                                                                                                //    <06/05/96    ca>
  45.     static LAGALittleArrows*    CreateAGALittleArrowsStream(LStream *inStream);
  46.     
  47.                 LAGALittleArrows();
  48.                 
  49.                 LAGALittleArrows(const SPaneInfo &inPaneInfo,
  50.                                         MessageT inValueMessage,
  51.                                         ResIDT traitsID,
  52.                                         Str255 title);
  53.                                 
  54.                 LAGALittleArrows(LStream *inStream);
  55.                 
  56.     virtual    ~LAGALittleArrows();
  57.         
  58.  
  59. protected:
  60.                                         
  61.     Int16        FindHotSpot( Point localPt );
  62.     
  63.     void        HotSpotAction(short inHotSpot, Boolean inCurrInside, Boolean inPrevInside);
  64.     
  65.     void        HotSpotResult(short inHotSpot);
  66.  
  67.     void         DisableSelf () { Refresh(); };
  68.  
  69.     void         EnableSelf () { Refresh(); };
  70.  
  71. private:
  72.     
  73.     void        DrawText();
  74.     
  75.     void        DrawArrow(Boolean upArrow, Boolean pushed);
  76.     
  77.     void        DrawSelf();
  78.     
  79.     ResIDT    mTextTraitsID;
  80.     LStr255    mTitle;
  81.     Boolean     mDoneOne,
  82.                 mInColor;
  83.     Int32     mNextBroadcast;
  84. };
  85.  
  86. #endif
  87.